在 Dart 和 Flutter 中,Isolates 是一種讓程式能夠同時處理多個任務的方法。與傳統的多線程不同,Isolates 是 Dart 中的獨立工作環境,每個 Isolate 都有自己的記憶體和工作流程,這讓它們彼此完全隔離開來。這樣的設計避免了多線程程式設計中常見的數據衝突問題,因為不同的 Isolate 之間不會直接共享數據。(有點類似系統程式的 Loosely-Couple system)
Isolate.spawn(entryPoint, sendPort);
sendPort.send(message);
receivePort.listen((message) {
// 處理接收到的訊息
});
isolate.kill(priority: Isolate.immediate);
Isolates 非常適合以下場景: